Several attempts have been made to create intelligent software systems. One branch in the field of intelligent software is known as artificial intelligence (Al). Al attempts to create intelligent systems by emulating human behavior with computers having sufficient memory and processing power. Although there have been some minor successes at emulating human behavior, Al has not lived up to its expectations since it fails to adequately address what intelligence is or what true learning means.
Another type of intelligent software is known as an expert system. Expert systems, which can be considered a branch of Al, use a knowledge base of if/then/else rules and an engine to execute the rules. These systems can automate a lengthy decision-making process that deals with a large quantity of data by using the rules to sift through the data. Expert systems are currently used in medicine, business, air traffic control, banking, science, and other domains. However, expert systems are limited to domains where lists of rules are well known and can be correctly programmed. As such, expert systems typically perform no reasoning beyond the rule execution and are not able to transfer knowledge from one domain to another.
Neural networks are a small improvement over the Al approach. Neural network software architectures are based on neuron connections within the human brain. A neural network's information is distributed throughout its nodes, where each node can represent a neuron in an actual brain. Neural networks have been employed in limited form in a few applications such as speech recognition, optimizations, and image processing. Neural networks fail to embody true intelligence since their architecture is focused on how neurons behave when connected rather than on how real learning occurs in the brain.
These previous attempts at creating intelligent software systems have tended to rely on reactive programming. That is, computation is done at run time as data is received and actions are then taken based on the run time calculations. There is typically no anticipation of likely future events to aid in the selection of appropriate actions.